import Vue from 'vue'
import VueRouter from 'vue-router'
import Index from '../views/Index.vue'
import BusinessList from '../views/BusinessList.vue'
import BusinessInfo from '../views/BusinessInfo.vue'
import Login from '../views/Login.vue'
import Orders from '../views/Orders.vue'
import UserAddress from '../views/UserAddress.vue'
import Payment from '../views/Payment.vue'
import OrderList from '../views/OrderList.vue'
import AddUserAddress from '../views/AddUserAddress.vue'
import EditUserAddress from '../views/EditUserAddress.vue'
import Register from '../views/Register.vue'
import Forget from '../views/Forget.vue'
import Person from '../views/Person.vue'
import Mall from '../views/Mall.vue'
import Coupons from '../views/Coupons.vue'
import Mycoupons from '../views/Mycoupons.vue'
import Wallet from '../views/Wallet.vue'
import Error403 from '../components/Error403.vue'

Vue.use(VueRouter)

const routes = [{
  path: '/',
  name: 'Home',
  component: Index
}, {
  path: '/index',
  name: 'Index',
  component: Index
}, {
  path: '/businessList',
  name: 'BusinessList',
  component: BusinessList
}, {
  path: '/businessInfo',
  name: 'BusinessInfo',
  component: BusinessInfo
}, {
  path: '/login',
  name: 'Login',
  component: Login
}, {
  path: '/orders',
  name: 'Orders',
  component: Orders
}, {
  path: '/userAddress',
  name: 'UserAddress',
  component: UserAddress
}, {
  path: '/payment',
  name: 'Payment',
  component: Payment
}, {
  path: '/orderList',
  name: 'OrderList',
  component: OrderList
}, {
  path: '/addUserAddress',
  name: 'AddUserAddress',
  component: AddUserAddress
}, {
  path: '/editUserAddress',
  name: 'EditUserAddress',
  component: EditUserAddress
}, {
  path: '/register',
  name: 'Register',
  component: Register
}, {
  path: '/forget',
  name: 'Forget',
  component: Forget
}, {
  path: '/person',
  name: 'Person',
  component: Person
}, {
  path: '/mall',
  name: 'Mall',
  component: Mall
}, {
  path: '/coupons',
  name: 'Coupons',
  component: Coupons
}, {
  path: '/mycoupons',
  name: 'Mycoupons',
  component: Mycoupons
}, {
  path: '/wallet',
  name: 'Wallet',
  component: Wallet
}, {
  path: '/error403',
  name: 'Error403',
  component: Error403
}
]
//解决重复路由报异常问题
const originalPush = VueRouter.prototype.push;
VueRouter.prototype.push = function push(location) {
  return originalPush.call(this, location).catch(err => err)
}
const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes
})
export default router